// 组件式编程
new form()
config()
afterData
show

new select()
config()
show

new table()
config()
show

new editor()
show

// ui365-组件(插件)规范
class X_UI365Component {
    // 版本号
    version = '1.0.0';
    // 默认选项
    _options = {
        // 原生控件 CSS 选择器
        elSelector: '.h5uploader',
        // 原生控件对象
        elControl: null,
        // 网址
        url: '',
        // 默认值
        value: '',
        // 控件的 onchange 事件
        onChange: function (value, options) {

        }
    }
    // 构造方法
    constructor(options = {}) {
        this._options = Object.assign(this._options, options);
        if (!this._options.elControl) {
            this._options.elControl = document.querySelector(this._options.elSelector);
        }
        this.initializeComponent(this._options.elControl);
    }
    // 初始化组件
    initializeComponent(elControl) {
        // 读取控件 data-* 的属性设置
        let options = {
            url: this._option.url,
            value: this._option.value,
            onChange: this._option.onChange,
        }
        for (let key in elControl.dataset) {
            if (typeof (options[key]) != 'undefined') {
                options[key] = elControl.dataset[key];
            }
        }
        // ...
    }
}